package com.bawei.common.view

import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import androidx.recyclerview.widget.RecyclerView

/**
 * Author: Jason Zhang
 * Date: 2025/2/6
 * Desc: 自定义RecyclerView，处理多层嵌套导致的事件冲突
 */
class VideoRecyclerView constructor(context: Context, attributeSet: AttributeSet): RecyclerView(context, attributeSet) {

    //是否需要事件拦截
    private var isInterceptor = false

    fun setInterceptor(bool: Boolean){
        isInterceptor = bool
    }

    /**
     * 控制是否拦截事件（执行步骤：二）
     * 默认是不拦截，如果返回true表示拦截事件，false则不拦截事件
     */
    override fun onInterceptTouchEvent(e: MotionEvent?): Boolean {
        //如果需要拦截操作，则返回true
        if(isInterceptor){
            return true
        }
        return super.onInterceptTouchEvent(e)
    }


    /**
     * 分发事件（执行步骤：一）
     */
    override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
        return super.dispatchTouchEvent(ev)
    }

    /**
     * 处理事件（执行步骤：三）
     */
    override fun onTouchEvent(e: MotionEvent?): Boolean {
        return super.onTouchEvent(e)
    }





}